Fix tests on windows
authorAlex Crichton <alex@alexcrichton.com>
Tue, 9 Sep 2014 19:35:31 +0000 (12:35 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Tue, 16 Sep 2014 19:05:21 +0000 (12:05 -0700)
src/cargo/ops/cargo_package.rs
tests/test_cargo_package.rs
tests/test_cargo_upload.rs

index 3bf28597c4c8cd752f60e2cfa4f92dba91c93007..40b3ddcf74f541956254fdb8c3baee0eee1ec301 100644 (file)
@@ -1,5 +1,6 @@
 use std::io::File;
 use std::io::fs::PathExtensions;
+use std::path;
 
 use tar::Archive;
 use flate2::{GzBuilder, BestCompression};
@@ -52,8 +53,8 @@ fn tar(pkg: &Package, src: &PathSource, shell: &mut MultiShell,
         try!(shell.verbose(|shell| {
             shell.status("Archiving", relative.as_slice())
         }));
-        let path = format!("{}-{}/{}", pkg.get_name(),
-                           pkg.get_version(), relative);
+        let path = format!("{}-{}{}{}", pkg.get_name(),
+                           pkg.get_version(), path::SEP, relative);
         try!(ar.append(path.as_slice(), &mut file).chain_error(|| {
             internal(format!("could not archive source file `{}`", relative))
         }));
index 882113cb45f9bcb33749ed784cb3fbf5a93de2d9..de6a28049fb50391b3dc3c612b860806016965e1 100644 (file)
@@ -40,10 +40,9 @@ test!(simple {
     let ar = Archive::new(MemReader::new(contents));
     for f in ar.files().assert() {
         let f = f.assert();
-        match f.filename().unwrap() {
-            "foo-0.0.1/Cargo.toml" |
-            "foo-0.0.1/src/main.rs" => {}
-            s => fail!("unexpected file: {}", s),
-        }
+        let fname = f.filename_bytes();
+        assert!(fname == Path::new("foo-0.0.1/Cargo.toml").as_vec() ||
+                fname == Path::new("foo-0.0.1/src/main.rs").as_vec(),
+                "unexpected filename: {}", f.filename())
     }
 })
index a450960a5e46698ac9ad2f231ec01155d81d6d00..a813ef080c046723efd276b06bb22e7cf653ad47 100644 (file)
@@ -61,9 +61,10 @@ test!(simple {
     let ar = Archive::new(inner);
     for file in ar.files().unwrap() {
         let file = file.unwrap();
-        assert!(file.filename() == Some("foo-0.0.1/Cargo.toml") ||
-                file.filename() == Some("foo-0.0.1/src/main.rs"),
-                "bad filename: {}", file.filename());
+        let fname = file.filename_bytes();
+        assert!(fname == Path::new("foo-0.0.1/Cargo.toml").as_vec() ||
+                fname == Path::new("foo-0.0.1/src/main.rs").as_vec(),
+                "unexpected filename: {}", file.filename())
     }
 })